package com.ruicar.afs.cloud.basic.proceeds.mq.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruicar.afs.cloud.basic.common.entity.BasicCustBaseInfo;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumDeserializer;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumSerializer;
import com.ruicar.afs.cloud.common.modules.contract.enums.CustTypeEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.PersonRoleTypeEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.YesOrNoEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author: Lee
 * @date 2020-05-29 09:31:34 
 * @description 合同客户基本信息
 */
@Data
public class ContractCustBaseInfoDTO extends ContractMqBaseDataDTO<BasicCustBaseInfo>{

	/** 客户id */
	@ApiModelProperty("客户id")
	private String custNo;
	/** 合同号码 */
	@ApiModelProperty("合同号码")
	private String contractNo;
	/** 客户类型 枚举值：个人、企业 */
	@ApiModelProperty("客户类型 枚举值：个人、企业")
	private CustTypeEnum custType;
	/** 名称 */
	@ApiModelProperty("名称")
	private String custName;
	/** 证件类型 */
	@ApiModelProperty("证件类型")
	private String certType;
	/** 证件号码 */
	@ApiModelProperty("证件号码")
	private String certNo;
	/** 证件有效期起 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("证件有效期起")
	private Date certStartDate;
	/** 证件有效期止 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("证件有效期止")
	private Date certEndDate;
	/** 是否长期 */
	@ApiModelProperty("是否长期")
	@JSONField(deserializeUsing = AfsEnumDeserializer.class,serializeUsing = AfsEnumSerializer.class)
	private YesOrNoEnum isLongTerm;
	/** 案件角色 01-主借人、02-共借人、03-担保人 */
	@ApiModelProperty("案件角色 01-主借人、02-共借人、03-担保人")
	private PersonRoleTypeEnum custRole;

	/** 手机号码 */
	@ApiModelProperty("手机号码")
	private String phone;
	
}
